home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-26 | 17.3 KB | 453 lines | [ttro/ttxt] |
-
-
-
- ***
- *** Universal Serial Bus™ (USB) for the MacOS
- *** MacOS USB 1.0b4 DDK Developer Release Notes
- *** Copyright 1998 Apple Computer, Inc.
- ***
-
-
-
- Table of Contents:
- -------------------------------------------------------------
- A Note on Participation
- USB Fundamentals
- Getting started with MacOS USB
- Installing the MacOS USB Software
- Using the MacOS USB DDK under MPW
- Installing the MacOS USB DDK into MPW for the First Time
- Updating a Previously Installed Neptune DDK for MPW
- Using the MacOS USB DDK with MetroWerks CodeWarrior
- Installing the MacOS USB DDK for CodeWarrior for the First Time
- Updating a Previously Installed MacOS USB DDK for CodeWarrior
- Installing the MacOS USB Components onto your Target System
- Description of Installed Files
- Known Problems
- Contact Information
- -------------------------------------------------------------
-
-
- A Note on Participation
- -----------------------
-
- Early seeding is important to developers and Apple alike; however, in
- the past, we haven't received the level of feedback we'd expect for
- something you've told us is so important.
-
- To ensure compatibility with USB, developers should not assume
- Apple will test their products internally. It's important that
- every developer test their products with this pre-release
- software and provide feedback on problems they encounter.
-
- Two important guidelines:
-
- -- Provide feedback. This DDK is the first of it's kind for
- USB support on the Macintosh. You may find that there is
- functionality which we have not provided, which you
- need to support your product. There are known issues
- which we have documented below. However, other issues
- are better addressed before the product is finalized.
- This leads to the second guideline.
-
- -- Provide feedback as early as possible. The introduction
- of the iMac draws near. We will finalize the introductory
- release of MacOS USB, shortly. However, we
- will carefully review all of your bug reports, and
- consider all of your comments and suggestions. We will
- update that USB product following the iMac introduction,
- however, we do not have a schedule for the update at this
- time.
-
-
- USB Fundamentals
- ----------------
-
- For the coming generation of Power Macintosh systems, USB is the
- primary interface for connections to low to medium speed peripheral
- devices. There a numerous advantages for adopting the USB standard on
- Macintosh, and they are discussed in the "MacOS USB DDK API Reference
- Guide". On the future Macintosh systems there will be no ADB,
- Serial Port, or SCSI connections. USB will be the primary port
- for connecting peripheral devices to the Macintosh.
-
- Read the USB Software Development Guide located at the root level of
- the DDK to learn about developing for the MacOS USB implementation.
- The DDK provides the tools, interfaces, system files, and module
- examples for you to start development of USB products
- for the Macintosh.
-
- WARNING:
-
- It is still possible there are significant bugs in this build of MacOS
- USB. Do not risk critical data by exposing it to this
- software. Do not install this software on a machine which is
- critical to your business.
-
- IMPORTANT:
-
- Do not build your final product release using the interface files
- and libraries from this DDK. Watch the DDK web page mentioned
- below for news on updates to this DDK, and for news on the
- release of the final product.
-
- Getting started with MacOS USB
- -----------------------------
-
- As of the writing of this note, Power Macintosh Systems which have
- USB support built-in, are under development. Seed units for
- Developers are limited and Apple will be unable to provide
- developments systems to all developers. To jump-start the
- development process for MacOS USB, you can obtain a PCI
- USB card from two sources - CMD Technology and OPTi. As other
- sources for PCI USB cards become available, we will revise
- this readme to include them.
-
- For CMD Technology, Inc, the web page is
-
- <http://www.cmd.com/>.
-
- For OPTi, the web page is
-
- <http://www.opti.com/html/usbsolutions.html>.
-
- We advise you to obtain cards from both sources so that you can
- test on both cards to ensure maximum compatability.
-
- With these cards, and the supplied software, you can start work on
- developing your USB Modules to support your
- devices, along with the associated applications. The DDK provides
- examples for both the MPW and MetroWerks CodeWarrior Pro
- environments. Please carefully, read the notes below, on how you
- will need to configure your environment to build the example
- modules.
-
-
- Installing the MacOS USB Software
- ---------------------------------
-
- To install the USB System Software components, drag copy the
- contents of the folder
-
- :NeptuneDDK:For System Folder (Apple Built):
-
- to the Extensions folder, and reboot.
-
-
- Important Notes on Installation and Use of this Beta DDK software
- ------------------------------------------------------------
-
- This DDK will let you look at the sources to some working class
- drivers, build the examples, and develop & build your own code.
-
- Please remember that these driver samples are Copyright Apple
- Computer, Inc.. You may use the supplied code to develop Class
- Drivers for your devices. As for publishing the source code, please
- check first with the MacOS USB DDK License agreement, included
- in this DDK.
-
- The current driver samples may, or may not, reflect the final
- state of the art of driver writing for USB in the MacOS.
- They are only intended to show you working drivers, and we
- will be revising them as we get closer to shipping product.
-
- While not extensively tested (by the development team),
- the sample sources have been tweaked slightly to make builds
- under CodeWarrior some what less problematic. This is going
- to be an incremental process, so please be patient as we
- improve this process.
-
-
- Using the MacOS USB DDK under MPW
- ---------------------------------
-
- The following are guidelines for using this DDK with the
- MPW programming environment.
-
- 1. You must have MPW 3.4.2 (or later) from ETO 23.
-
- We are not supporting the use of any versions of MPW
- previous to v3.4.2.
-
- 2. You must use the Universal Interfaces&Libraries 3.1 from the
- Apple ftp site. Follow the instructions which are provided
- with the Interfaces&Libraries download to upgrade the
- MPW programming environment. The URL for the Developer
- Development Kits web page is
-
- <http://developer.apple.com/sdk/>
-
- 3. You should update the USB.h file in the Universal Interfaces
- CIncludes folder with the USB.h file from the NeptuneDDK
- Folder.
-
- It is highly recommend that you use one Macintosh for coding
- purposes and one Mac (aka "Target" system) for
- checkout/testing purposes.
-
- 4. Within MPW, there will be the NeptuneDDK menu. Choose
- the desired sample module to build from the "Select Example"
- menu item. Use the "Build Driver or Example" menu item
- to build the example file. The driver modules which you
- build will be placed into the "NeptuneDDK:Targets:"
- folder.
-
-
- Installing the MacOS USB DDK into MPW for the First Time
- --------------------------------------------------------
-
- 1. Drop the UserStartup•NeptuneDDK into your MPW folder.
-
- 2. Ensure that the name of the development system's Neptune DDK
- folder is NeptuneDDK. The MPW scripts supplied in this DDK
- will fail if the folder is named differently.
-
- It has been reported that the NeptuneDDK MPW startup script
- doesn't handle spaces that are part of the complete pathname
- correctly. This should be corrected in a later release.
-
- 3. Launch MPW
-
- You'll be prompted to point to *YOUR* DDK folder. That is,
- the NeptuneDDK folder on your hard drive, not a projector
- database on a server.
-
- 4. Drag the "For System Folder" items go into your "target"
- system's system folder, not the development system's system
- folder! The development system only needs the contents of the
- DDK and MPW folders.
-
-
- Updating a Previously Installed Neptune DDK for MPW
- ---------------------------------------------------
-
- 1. Drop the UserStartup•NeptuneDDK into your MPW folder. This
- file may have changed from the last release of the DDK
-
- 2. Drag *your* folders from inside the "Drivers" folder
- from the old DDK to the Driver folder of the new Neptune DDK
- folder.
-
- 3. Change the name of the OLD NeptuneDDK folder to something
- like "Old NeptuneDDK"
-
- 4. Change the name of the *new* Neptune DDK folder to match
- *exactly* what your old NeptuneDDK folder was called.
-
- 5. If you don't get the name exactly right, then MPW will ask
- you to locate the folder the next time you start it.
- Be warned: Spaces in the DDK folder name are NOT
- recommended.
-
- 6. Start MPW. Any drivers you've moved from the old DDK to
- the new DDK's "Drivers" folder will automatically appear
- in the NeptuneDDK Drivers submenu.
-
-
- Using the MacOS USB DDK with MetroWerks CodeWarrior
- ---------------------------------------------------
-
- We have supplied MetroWerks CodeWarrior project files for
- all of the USB Modules code examples. All of the project
- files were created using CodeWarrior Pro 1, IDE 2.0. The
- project files are also compatible with CodeWarrior Pro IDE
- 2.1 and 3.0.
-
- For the CodeWarrior IDE environments v2.0 - v3.0, you must use
- the Universal Interface & Libraries v3.1. The examples will
- not build using the interfaces supplied with the CodeWarrior
- v.2 - v3.0 environments. The URL for the Developer Development
- Kits web page is
-
- <http://developer.apple.com/sdk/>
-
- As mentioned for MPW, it is highly recommend that you use
- one Macintosh for coding purposes and one Mac (aka "Target"
- system) for checkout/testing purposes.
-
- The supplied project files will place the built drivers
- and extensions into the Target folder of the DDK.
-
-
- Installing the MacOS USB DDK for CodeWArrior for the First Time
- -----------------------------------------------------------
-
- 1. You can place the NeptuneDDK anywhere on your development
- system for the CodeWarrior environment. The access paths
- for the project files are project and compiler relative.
- If you move the examples folders out of the DDK, you must
- fix the access paths so that the sources can be found.
-
- 2. Ensure that the CodeWarrior IDE environment has the
- Universal Interfaces and Libraries 3.1 installed. The
- download file from the DDK website includes instructions
- for upgrading your CodeWarrior environment. Note that if
- you upgrade your interfaces, you will also need to
- upgrade your precompiled headers. The supplied CodeWarrior
- project files do not use precompiled headers.
-
- 3. Copy the USB.h file included in this SDK to the
- ":MacOS Support:Headers:Universal Headers:" folder.
-
-
- Updating a Previously Installed MacOS USB DDK for CodeWarrior
- -------------------------------------------------------------
-
- 1. Copy the USB.h file included in this SDK to the
- ":MacOS Support:Headers:Universal Headers:" folder. Do not
- use the USB.h header file from an earlier USB DDK with the
- supplied project files, as the examples may not build.
-
-
- Installing the MacOS USB Components onto your Target System
- -----------------------------------------------------------
-
- IMPORTANT NOTE: Do not install the USB Extensions and Libraries
- into the System Folder of a CPU that has the USB Support integrated
- into the System ROM.
-
- 1. Delete any existing files prefixed with "USB" from your system
- folder's extension folder. This applies only if an earlier
- pre-release version of MacOS USB DDK software had been
- installed.
-
- 2. Drag all the files from the 'For System Folder (Apple Built)'
- folder to the System Folder (ultimately destined for the
- system folder's extension folder).
-
- 3. Verify that all of the files that you dragged from the 'For
- System Folder (SCM Built)' folder were placed in the system
- folder's extensions folder.
-
-
- Description of Installed Files
- --------------------------
- Files in the 'For System Folder (SCM Built)' folder:
- Files: Description:
- USBCompositeDriver A class driver which is loaded for class 0 &
- and subclass 0 devices (typically keyboards &
- mice, although a few printers & modems appear as
- composite class devices).
-
- USBFamilyExpert The INIT (actually an 'expt') portion of the Family
- Expert. Loaded prior to the INIT parade, it starts
- the 'find a USB bus (ie. UIM driver), loads the
- hub driver (for the root hub), and starts
- the hub driver running. Once running, the
- hub driver locates devices attached to the
- port and asks the FamilyExpertLib to load
- drivers for the devices connected to the
- hub's ports.
-
- USBHubDriver0 & The Hub driver for the root hub, the Apple USB
- USBHubDriver1 keyboard's hub, and some 3rd party hubs.
-
- USBKeyboardModule The HID Module loaded for a keyboard
- interface (typically in a compound device)
-
- USBMouseModule A HID Module loaded for a mouse interface
- (typically in a compound device).
-
- USBOpenHCIDriver The HAL (Hardware Abstraction Layer), also
- known as the "UIM" (USB Interface Module).
- This driver provides an abstracted interface
- to the OpenHCI host controllers on Mac
- motherboards and PCI controller cards.
-
- USBPrintDriver A Printing Class Driver for experimentation
- purposes. Printing WILL NOT be functional
- simply with the addition of this file. The
- chooser extension needed for USB printing
- is still in development and has not yet
- been released.
-
-
- Known Problems
- --------------
-
- There will, of course, be bugs in early builds of the MacOS USB DDK.
- In this section, rather than attempt to list all known bugs, we will
- attempt to alert you to entire components which are not functional
- or major functionality within a component which you should avoid.
-
- - The MacOS USB DDK v1.0 does not provide any isochronous
- support. Isochronous support will be implemented in a
- future release of the MacOS USB DDK.
-
- - While you can hot plug and unplug devices and replug them,
- there is a known problem that after 4 - 5 hot plug/unplug/hot
- replugs, the device may not register, due to a memory leak.
-
- - This version of the DDK does not include a document which completely
- describes the software design and implementation of a USB class driver.
- In a coming release of the DDK, this issue will be addressed.
-
- - We are investigating problems with the implementation of Bulk Transfer
- which manifests itself as lost data. If you encounter problems with
- Bulk Transfer, we advise you to try replicating the problem with a
- PCI USB card from a different vendor.
-
- - Once you plug in the first HID device that is not a keyboard or mouse
- device, no other HID device (other than a keyboard or mouse) will be
- recognized, even if you unplug and replug the same HID device. The
- workaround is to reboot the system.
-
- - In a future release of this DDK, we will include 2 additional example
- modules - a print class module, and a universal HID module which supports
- USB game devices via the Game Sprocket's InputsprocketLib.
-
- Contact Information
- -------------------
-
- MacOS USB DDK Upgrades and latest information:
-
- This DDK is not final. Check the Developer Development Kits web page for
- upgrades to the MacOS USB DDK. The web page is
-
- <http://developer.apple.com/sdk/>
-
- For the latest information on MacOS USB, check the MacOS USB web page.
- The web page is
-
- <http://usb.apple.com>
-
- For Bug Reports:
-
- To ensure the appropriate data is collected, please use the Bug Reporter
- to send us your bug reports. The Bug Reporter can be found at:
-
- <http://developer.apple.com/bugreporter>
-
- When reporting problems, please include the machine configuration,
- including the vendor of the PCI USB card which you have tested with.
-
- For Technical Questions:
-
- Contact Worldwide Developer with purchased development-level technical
- support incidents at
-
- dts@apple.com
-
- Technical support incidents are bundled in our Premier and Select
- Developer programs. For information about joining our programs,
- please visit our Apple Developer Connection web site at
-
- http://developer.apple.com/programs.
-
- If you have never purchased a technical support incident and would like
- to find out how to do so, please visit the following site:
-
- http://developer.apple.com/programs/techsupport.html .
-
-
- Comments, Suggestions and Enhancement Requests
-
- Please send all comments and suggestions regarding the MacOS USB DDK to
-
- usb@apple.com
-
- All email sent to this address will be read, however, we will not be to
- respond to all of your comments and suggestions.
-
-
-